<?php
namespace app\index\controller;
use think\Db;
/*
查询构造器
准备工作：app_debug=>'true';app_trace='true';
系统学习数据库的增删改查：curd

 */
class Demo5
{
	public function find()
	{
		/*
		Db类数控操作的入口类
		功能：静态调用think\db\Query.php类中的查询方法实现基本操作
		find()返回符合条件的第一条记录，没有的话返回null
		 */
		$res=Db::table('student')
			->where('id','=',3)
			->find();
		dump(is_null($res)?'没有找到':$res);
	}
	// 
	// select()返回的是一个二维数组，没有数据返回是一个空数据
	public function select()
	{
		$res=Db::table('student')
			->field('id,name,course,grade')
			->where([
				['course','=','php'],
				['grade','>=',80]
				])
			->select();
		if(empty($res)){

		}else{
			foreach ($res as $key => $value) {
				dump($row);
			}
		}
	}

	// 3、插入单条
	public function insert()
	{
		$data=[
		'name'=>'红',
		'email'=>'@common'
		];
		// 插入成功返回新增的数量，失败返回false
		return Db::table('student')->insert($data);
		// insertGetId()同时执行二步：第一步插入，第二步返回主键id
		return Db::table('studen')->insertGetId($data);
	}
	// 4添加多条
	public function insertAll()
	{
		$data=[
		['name'=>'Peter','email'=>'@qcom'],
		['name'=>'Peter','email'=>'@qcom'],
		['name'=>'Peter','email'=>'@qcom'],
		['name'=>'Peter','email'=>'@qcom'],
		];
		return Db::table('student')->insertAll($data);
	}

	// 更新操作
	public function update()
	{
		return Db::table('student')->update(['name'=>'小金莲','id'=>19]);
	}
	// 删除操作
	public function delete()
	{
		return Db::table('student')->delete(17);
	}

	// 原生查询
	public function query()
	{
		$sql="SELECT `name`,`email` FROM `student` WHERE id IN(4,5,6)";
		dump(query($sql));
	}
	// 原生写操作：更新，删除，添加
	public function execute()
	{
		Db::execute("UPDATE `student` SET `name`='武松' where `id`=19");
		Db::execute("INSERT `student` SET `name`='武松' ");
		Db::execute("DELETE FROM `student` WHERE `name`='武松' ");
	}
}